Almost every enterprise today, such as a large corporation, uses one or more database systems to store and manipulate information. These database systems often comprise both a database, which is a collection of interrelated data items, stored once and organized in a form for easy retrieval, and a database management system, which is a collection of programs for storing, organizing, selecting, modifying, and extracting data from a database. A few examples of databases and database management systems are IBM's IMS and DB2, ORACLE, MICROSOFT ACCESS, and MYSQL.
Databases can be structured differently. For example, IBM's IMS is a hierarchal database. In a hierarchal database, data is organized in a tree-like structure, with parent-child relationships between data items. Another type of structure is a relational database. In a relational database, data items are arranged in a series of tables, where relationships between data items are expressed based on the attributes of the data item. Other database structures include object-oriented databases, flat file databases, deductive databases, dimensional databases, temporal databases, and extensible mark-up language (XML) data stores.
Regardless of the structure of a database, database management systems are used to store, organize, select, extract, and modify the data. Some database programs, such as IBM's IMS system includes programs that can be used to manage the database. These tools are often updated or modified by the database system vendor, a third-party vendor, or other programmer. Additionally, an enterprise may have specific, repetitive tasks that it performs with a database. For example, an enterprise may routinely manipulate data based on specific clients or product lines. These manipulations may be captured in enterprise-specific utilities, often written by or for the enterprise, that can be used to automatically manipulate the data without repeating certain steps. The programs, or database management system tools, are processes or tasks that can be implemented to maintain a database system or otherwise support database management system operations.
Databases and database management systems reside on one or more computer platforms within an enterprise. Instructions for managing data must be written in the specific computer language for the host platform. For example, an IBM IMS system resident on an IBM mainframe computer would receive instructions in Job Control Language (JCL) to run batch data management processes. Typically, these instructions are not written in English, that is, these instructions are not written in the normal syntax of a written or spoken sentence. Instead, these instructions have a defined syntax, dependent on the language being used. For example, JCL requires an 80-byte record with information on a single line. The information includes an identifier field, a name field, an operation field, an operand field, and a comment field.
Typically today, multiple versions of the tools, or programs, used by database management systems exist. For example, different utilities and JCL scripts exist for IMS database management for maintaining and supporting IBM's IMS databases. However, because multiple versions of the tools exist and multiple people are modifying each version, enterprises have difficulty keeping these multiple versions in sync. Also, no single set of tools exists to meet the majority of IMS management requirements. Also, although utility software required to maintain databases, such as IMS databases, may have been upgraded and JCL scripts may have been modified, other database management tools may not have been updated in response. As such, incompatibility issues increase.
What is needed is a system and method for providing a single set of updated tools, located in a central location to a enterprise, that can be used to manage databases, such as IBM's IMS databases.